# encoding: utf-8
# module alembic.Abc
# from C:\Program Files\Python39\lib\site-packages\alembic.cp39-win_amd64.pyd
# by generator 1.147
# no doc

# imports
from typing import overload

import Boost.Python as __Boost_Python

from . import IObject
from ..AbcCoreAbstract import TimeSampling


class IArchive(__Boost_Python.instance):
    """ The IArchive class opens an existing Alembic archive for read access """

    def __bool__(self) -> bool: ...

    @overload
    def __init__(self, fileName: str):
        """ Create an IArchive with the given file name """
        pass

    @overload
    def __init__(self, fileList: list):
        """ Create a layered IArchive with the given file name list """

    def __reduce__(self, *args, **kwargs): ...  # real signature unknown

    def __str__(self) -> str: ...

    def getCoreType(self) -> str:
        """ Return the archive CoreType """

    def getMaxNumSamplesForTimeSamplingIndex(self, index: int) -> int:
        """ Returns the max number of samples set for the TimeSampling at the given index. """

    def getName(self) -> str:
        """ Return the file name """

    def getNumTimeSamplings(self) -> int:
        """ Return the total number of TimeSampling in the Archive """

    def getTimeSampling(self, index: int) -> TimeSampling:
        """ Return the TimeSampling with the given index """

    def getTop(self) -> IObject:
        """Return the single top-level IObject"""

    def valid(self) -> bool:
        """ Valid """
